home *** CD-ROM | disk | FTP | other *** search
- package javax.swing.plaf.basic;
-
- import java.awt.BorderLayout;
- import java.awt.Dimension;
- import java.awt.Insets;
- import java.awt.LayoutManager;
- import java.beans.PropertyVetoException;
- import javax.swing.JComponent;
- import javax.swing.JInternalFrame;
- import javax.swing.JLayeredPane;
- import javax.swing.LookAndFeel;
- import javax.swing.border.Border;
- import javax.swing.event.MouseInputListener;
- import javax.swing.plaf.ComponentUI;
- import javax.swing.plaf.DesktopIconUI;
-
- public class BasicDesktopIconUI extends DesktopIconUI {
- protected JInternalFrame.JDesktopIcon desktopIcon;
- protected JInternalFrame frame;
- JComponent iconPane;
- MouseInputListener mouseInputListener;
-
- protected MouseInputListener createMouseInputListener() {
- return new MouseInputHandler(this);
- }
-
- public static ComponentUI createUI(JComponent var0) {
- return new BasicDesktopIconUI();
- }
-
- public void deiconize() {
- try {
- this.frame.setIcon(false);
- } catch (PropertyVetoException var1) {
- }
-
- }
-
- public Insets getInsets(JComponent var1) {
- JInternalFrame var2 = this.desktopIcon.getInternalFrame();
- Border var3 = ((JComponent)var2).getBorder();
- return var3 != null ? var3.getBorderInsets(var2) : new Insets(0, 0, 0, 0);
- }
-
- public Dimension getMaximumSize(JComponent var1) {
- return this.iconPane.getMaximumSize();
- }
-
- public Dimension getMinimumSize(JComponent var1) {
- return this.iconPane.getMinimumSize();
- }
-
- public Dimension getPreferredSize(JComponent var1) {
- JInternalFrame var2 = this.desktopIcon.getInternalFrame();
- Border var3 = ((JComponent)var2).getBorder();
- short var4 = 157;
- int var5 = 18;
- if (var3 != null) {
- var5 += var3.getBorderInsets(var2).bottom + var3.getBorderInsets(var2).top;
- }
-
- return new Dimension(var4, var5);
- }
-
- protected void installComponents() {
- this.frame = this.desktopIcon.getInternalFrame();
- this.iconPane = new BasicInternalFrameTitlePane(this.frame);
- this.desktopIcon.setLayout(new BorderLayout());
- this.desktopIcon.add(this.iconPane, "Center");
- }
-
- protected void installDefaults() {
- LookAndFeel.installBorder(this.desktopIcon, "DesktopIcon.border");
- }
-
- protected void installListeners() {
- this.mouseInputListener = this.createMouseInputListener();
- this.desktopIcon.addMouseMotionListener(this.mouseInputListener);
- this.desktopIcon.addMouseListener(this.mouseInputListener);
- }
-
- public void installUI(JComponent var1) {
- this.desktopIcon = (JInternalFrame.JDesktopIcon)var1;
- this.frame = this.desktopIcon.getInternalFrame();
- this.installDefaults();
- this.installComponents();
- this.installListeners();
- JLayeredPane.putLayer(this.desktopIcon, JLayeredPane.getLayer(this.frame));
- }
-
- protected void uninstallComponents() {
- this.desktopIcon.setLayout((LayoutManager)null);
- this.desktopIcon.remove(this.iconPane);
- }
-
- protected void uninstallDefaults() {
- }
-
- protected void uninstallListeners() {
- this.desktopIcon.removeMouseMotionListener(this.mouseInputListener);
- this.desktopIcon.removeMouseListener(this.mouseInputListener);
- }
-
- public void uninstallUI(JComponent var1) {
- this.uninstallDefaults();
- this.uninstallComponents();
- this.uninstallListeners();
- this.desktopIcon = null;
- this.frame = null;
- }
- }
-